home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1998
/
MacHack 1998.toast
/
The Hacks!
/
mhTV ƒ
/
TVSource
/
SourceThatMatters
/
General
/
ComponentHelp.h
next >
Wrap
Text File
|
1996-12-24
|
3KB
|
62 lines
//Macros to convert from *Pascal* parameter block to parameter list.
#define SIZEOF(tpe) ( sizeof(tpe)%2==1 ? sizeof(tpe)+1 : sizeof(tpe) )
#define CMPARG(t,o) (*((t*)(((char*)(paramsPtr->params))+(o))))
#define CMP0() cmpGlobalParm
#define CMP1(t1) cmpGlobalParm,\
CMPARG(t1,0)
#define CMP2(t1,t2) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)),\
CMPARG(t2,0)
#define CMP3(t1,t2,t3) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)+SIZEOF(t3)),\
CMPARG(t2,SIZEOF(t3)),\
CMPARG(t3,0)
#define CMP4(t1,t2,t3,t4) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)+SIZEOF(t3)+SIZEOF(t4)),\
CMPARG(t2,SIZEOF(t3)+SIZEOF(t4)),\
CMPARG(t3,SIZEOF(t4)),\
CMPARG(t4,0)
#define CMP5(t1,t2,t3,t4,t5) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)+SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)),\
CMPARG(t2,SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)),\
CMPARG(t3,SIZEOF(t4)+SIZEOF(t5)),\
CMPARG(t4,SIZEOF(t5)),\
CMPARG(t5,0)
#define CMP6(t1,t2,t3,t4,t5,t6) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)+SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)),\
CMPARG(t2,SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)),\
CMPARG(t3,SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)),\
CMPARG(t4,SIZEOF(t5)+SIZEOF(t6)),\
CMPARG(t5,SIZEOF(t6)),\
CMPARG(t6,0)
#define CMP7(t1,t2,t3,t4,t5,t6,t7) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)+SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)),\
CMPARG(t2,SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)),\
CMPARG(t3,SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)),\
CMPARG(t4,SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)),\
CMPARG(t5,SIZEOF(t6)+SIZEOF(t7)),\
CMPARG(t6,SIZEOF(t7)),\
CMPARG(t7,0)
#define CMP8(t1,t2,t3,t4,t5,t6,t7,t8) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)+SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)),\
CMPARG(t2,SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)),\
CMPARG(t3,SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)),\
CMPARG(t4,SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)),\
CMPARG(t5,SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)),\
CMPARG(t6,SIZEOF(t7)+SIZEOF(t8)),\
CMPARG(t7,SIZEOF(t8)),\
CMPARG(t8,0)
#define CMP9(t1,t2,t3,t4,t5,t6,t7,t8,t9) cmpGlobalParm,\
CMPARG(t1,SIZEOF(t2)+SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)+SIZEOF(t9)),\
CMPARG(t2,SIZEOF(t3)+SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)+SIZEOF(t9)),\
CMPARG(t3,SIZEOF(t4)+SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)+SIZEOF(t9)),\
CMPARG(t4,SIZEOF(t5)+SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)+SIZEOF(t9)),\
CMPARG(t5,SIZEOF(t6)+SIZEOF(t7)+SIZEOF(t8)+SIZEOF(t9)),\
CMPARG(t6,SIZEOF(t7)+SIZEOF(t8)+SIZEOF(t9)),\
CMPARG(t7,SIZEOF(t8)+SIZEOF(t9)),\
CMPARG(t8,SIZEOF(t9)),\
CMPARG(t9,0)
///=============================================================================